package com.mrd.gtimp.service;

import com.mrd.gtimp.service.dto.GtimpBaseBizQueryDTO;
import com.mrd.gtimp.service.dto.GtimpTrailBizQueryDTO;

import java.rmi.Remote;

import javax.jws.WebService;

@WebService
public interface IBizService extends Remote {

	/**
	 * 查询列表给供应商审核业务信息
	 * @param paramsJson
	 * @return
	 * @throws Exception
	 */
	public String findListForSupToValidate(String paramsJson) throws Exception;

	/**
	 * 供应商业务审核详细页面
	 * @param paramsJson
	 * @return
	 * @throws Exception
	 */
	public String findForSupToValidate(String paramsJson) throws Exception;

	/**
	 * 供应商审核通过业务
	 * @param paramsJson
	 * @return msg/成功/失败/状态错误
	 * @throws Exception
	 */
	public String validatePass(String paramsJson) throws Exception;

	/**
	 * 供应商驳回业务
	 * @param paramsJson
	 * @return msg/成功/失败/状态错误
	 * @throws Exception
	 */
	public String validateReject(String paramsJson) throws Exception;

	/**
	 * 供应商上传业务
	 * @param paramsJson
	 * @return
	 * @throws Exception
	 */
	// public String validateUpload(String paramsJson) throws Exception;

	/**
	 * 供应商设置业务为已完成状态
	 * @param paramsJson
	 *            GtimpBaseBizQueryDTO的子类json格式，必填(id，bpk|用于like匹配|必填一项)，userAccount,supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	public String validateFinish(String paramsJson) throws Exception;

	/**
	 * 查询业务系统主键的专用方法
	 * @param qdto
	 *            请使用GtimpBaseBizQueryDTO的子类，必填id
	 * @return bpk
	 * @throws Exception
	 */
	public String findBpk(GtimpBaseBizQueryDTO qdto) throws Exception;

	/**
	 * 通过bpk或货运平台业务ID，发送业务完成的通知
	 * @param qdto
	 *            必填(bpk或货运平台业务ID其中一项)，supId
	 * @return eg：{state:1,msg:'操作成功'}
	 * @throws Exception
	 */
	// public String processToBizEnd(GtimpTrailBizQueryDTO qdto) throws Exception;

	public String processToBizEnd(GtimpBaseBizQueryDTO qdto) throws Exception;

	/**
	 * 当拖车交接单完成时更新该交接单对应的柜的状态
	 * @param qdto
	 *            业务ID和交接单对应的柜的ID
	 * @return
	 * @throws Exception
	 */

	public String containerStateFinish(GtimpTrailBizQueryDTO qdto) throws Exception;

}
